﻿using ByBikeShop.Site;
using PersistenceLayer.Model;
using SupportLayer.Constantes.CLIENTE;
using SupportLayer.Objetos.Cliente;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace ByBikeShop.Cliente.Pages
{
	public partial class MeusDados : BasePage
	{
		protected void Page_Load(object sender, EventArgs e)
		{
			if (!IsPostBack)
				base.PageLoad();

			if ((Cli == null) || (Cli.ID <= 0))
				Response.Redirect("/Cliente/Pages/Login.aspx");
		}

		public override void CarregaDados()
		{
			txtNome.Text = Cli.Nome;
			txtSobrenome.Text = Cli.Sobrenome;
			txtCPF.Text = Cli.CPF;
			txtDataNascimento.Text = Cli.DataNascimento.ToString("yyyy-MM-dd");
			txtDDDTelefone.Text = Cli.DDD_Telefone;
			txtTelefone.Text = Cli.Telefone;
			txtDDDCelular.Text = Cli.DDD_Celular;
			txtCelular.Text = Cli.Celular;
			txtEmail.Text = Cli.Email;

			if (Cli.Sexo == "M")
				rdbMasc.Checked = true;
			else
				rdbFem.Checked = true;

			CarregaGrid();
			PopulaGrid();
		}

		private void CarregaGrid()
		{
			grdEnderecos.AutoGenerateColumns = false;
			grdEnderecos.Columns.Clear();

			grdEnderecos.Columns.Add(Util.Gridview.GeraBoundField(ENDERECO.ID, "ID"));
			grdEnderecos.Columns.Add(Util.Gridview.GeraBoundField(ENDERECO.CEP, "CEP", 200));
			grdEnderecos.Columns.Add(Util.Gridview.GeraBoundField(ENDERECO.LOGRADOURO, "Logradouro", 200));
			grdEnderecos.Columns.Add(Util.Gridview.GeraBoundField(ENDERECO.COMPLEMENTO, "Complemento", 200));
			grdEnderecos.Columns.Add(Util.Gridview.GeraBoundField(ENDERECO.BAIRRO, "Bairro", 200));
			grdEnderecos.Columns.Add(Util.Gridview.GeraBoundField(ENDERECO.CIDADE_ID, "Cidade", 200));
		}

		private void PopulaGrid()
		{
			DataTable dt = new DataTable();
			dt.Columns.Add(ENDERECO.ID);
			dt.Columns.Add(ENDERECO.CEP);
			dt.Columns.Add(ENDERECO.LOGRADOURO);
			dt.Columns.Add(ENDERECO.COMPLEMENTO);
			dt.Columns.Add(ENDERECO.BAIRRO);
			dt.Columns.Add(ENDERECO.CIDADE_ID);


			foreach (Cliente_Endereco ce in Cli.Cliente_Endereco)
			{
				dt.Rows.Add(ce.ID, ce.CEP, ce.Logradouro, ce.Complemento, ce.Bairro, ce.Cidades.Nome);
			}

			grdEnderecos.DataSource = dt;
			grdEnderecos.DataBind();
		}
	}
}